Meta Character Quick Reference
Previous Back to contents Next

Here's a quick list of all Proxomitron's special characters. See Matching Rules for more detailed explanations.

Matching meta characters

*   match a string of any characters.
?   match any single character.
[abc]   match any single character listed in the brackets.
[^a-z]   match any single character not listed in the brackets.
[#x:y]   numeric range match. Supports negative numbers.
" "   (a Space) Always matches but also consumes any whitespace.
\s   match string of whitespace only.
\w   match any number of non-space characters except ">".
\t   matches a single tab character.
\r   matches a single carriage return character.
\n   matches a single newline character.
\0-9   put match into a variable - works like "*" unless following stuff in parentheses: "( ... )\1"
\#   append match on to replacement stack.
&   AND function.
&&   AND-AND (like AND but limits scope of second part).
|   OR function.
(^...)   NOT function.
(...)   group a sub-expression. Negate with "(^ ... )"
+   repeat previous match until there are no more left.
++   same as '+' except matches to up to the point where what follows is true.
+{5}   the + or ++ pattern run will match only 5 repetitions.
+{2,7}   the + or ++ pattern run will match 2 to 7 repetitions.
+{3,*}   the + or ++ pattern run will match 3 or more repetitions.
\   escape any meta character's special meaning.
=   magic equal - absorbs leading/trailing spaces.
"   magic quote - matches double or single quote.
'   smart ending quote - use to deal with nested quotes.
<start>   insert this at the beginning of a page
<end>   insert this at the end of a page

Special Matching Commands

(m=matching value r=replacement text b=boolean value)

$AV(m)   match an attribute's value excluding any quotes
$AVQ(m)   match an attribute's value including any quotes
$CON(x,y,[z])   test current connection number
$ESC(stuff)   Escape special characters in a string to make it URL safe (reverse of $UESC)
$FILTER(b)   force filtering or not
$IHDR(header: m)   match input headers
$INEST(start,[m],end)   like nest, but assumes inital tag already matched
$JUMP(url)   redirect URL (non-transparent)
$LST(listname)   include a blocklist in any matching expression
$NEST(start,[m],end)   find pair of nested tags
$OHDR(header: m)   match output headers
$RDIR(url)   redirect URL (transparent)
$SET(0=r)   set a positional variable (\0-9 or \#) to a specific value.
$SETPROXY   select a particular proxy for connection .
$STOP()   turn filter off for rest of page
$TYPE(type value)   check type of page being processed
$UESC(stuff)   remove hexidecimal "%xx" style URL escapes
$URL(m)   match a the URL inside the matching portion of a filter.
$USEPROXY(b)   turn external proxy on or off for connection

Replacement Text Escapes

\0-9   Insert a variable into the replacement text.
\#   Inserts one item from the replacement stack each time it is used - first in first out
\@   Insert all the items in the replacement stack.
\\   Insert a single backslash.
\a   Insert any anchor text from a URL (anything following a "#").
\d   Insert The Proxomitron base directory in "file://" URL format.
\h   Insert the host portion of the URL.
\k   Kills the current connection.
\p   Insert the path portion of the URL.
\q   Insert any query string from a URL (anything following a "?").
\u   Insert the full URL of the current web page.
\x   Insert URL command prefix if defined.


Return to main index